<!DOCTYPE html>
<html>

	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>

	<body>
		当我们去 adadis 买鞋，发现看中的款式已经售罄了，售货员告诉你不久后这个款式会进货，到时候打电话通知你。 于是你留了个电话，离开了商场，当下周某个时候 adadis 进货了，售货员拿出小本本，给所有关注这个款式的人打电话。
	</body>
	<script>
		const adadisPub = {
			adadisBook: [], // adadis售货员的小本本
			subShoe(phoneNumber) { // 买家在小本本是登记号码
				this.adadisBook.push(phoneNumber)
			},
			notify() { // 售货员打电话通知小本本上的买家
				for(const customer of this.adadisBook) {
					customer.update()//这里就是知道观察者的方法名的，所以这里是观察者模式。
				}
			}
		}

		const customer1 = {
			phoneNumber: '152xxx',
			update() {
				console.log(this.phoneNumber + ': 去商场看看')
			}
		}

		const customer2 = {
			phoneNumber: '138yyy',
			update() {
				console.log(this.phoneNumber + ': 给表弟买双')
			}
		}

		adadisPub.subShoe(customer1) // 在小本本上留下号码
		adadisPub.subShoe(customer2)

		adadisPub.notify() // 打电话通知买家到货了

		// 152xxx: 去商场看看
		// 138yyy: 给表弟买双
	</script>

</html>